<div id="Tracking-sources"></div>
<div class="header">
<p>
Next: [[cvs: How your build system interacts with CVS#How your build system interacts with CVS|Builds]], Previous: [[cvs: Keyword substitution#Keyword substitution|Keyword substitution]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>

----

<div id="Tracking-third_002dparty-sources"></div>
== Tracking third-party sources ==
<div id="index-Third_002dparty-sources"></div>
<div id="index-Tracking-sources"></div>

If you modify a program to better fit your site, you
probably want to include your modifications when the next
release of the program arrives.  <small>CVS</small> can help you with
this task.

<div id="index-Vendor"></div>
<div id="index-Vendor-branch"></div>
<div id="index-Branch_002c-vendor_002d"></div>
In the terminology used in <small>CVS</small>, the supplier of the
program is called a <em>vendor</em>.  The unmodified
distribution from the vendor is checked in on its own
branch, the <em>vendor branch</em>.  <small>CVS</small> reserves branch
1.1.1 for this use.

When you modify the source and commit it, your revision
will end up on the main trunk.  When a new release is
made by the vendor, you commit it on the vendor branch
and copy the modifications onto the main trunk.

Use the <code>import</code> command to create and update
the vendor branch.  When you import a new file,
the vendor branch is made the &lsquo;head&rsquo; revision, so
anyone that checks out a copy of the file gets that
revision.  When a local modification is committed it is
placed on the main trunk, and made the &lsquo;head&rsquo;
revision.

 [[cvs: Importing for the first time#Importing for the first time|&bull; First import]]::                Importing for the first time
 [[cvs: Updating with the import command#Updating with the import command|&bull; Update imports]]::              Updating with the import command
 [[cvs: Reverting to the latest vendor release#Reverting to the latest vendor release|&bull; Reverting local changes]]::     Reverting to the latest vendor release
 [[cvs: How to handle binary files with cvs import#How to handle binary files with cvs import|&bull; Binary files in imports]]::     Binary files require special handling
 [[cvs: How to handle keyword substitution with cvs import#How to handle keyword substitution with cvs import|&bull; Keywords in imports]]::         Keyword substitution might be undesirable
 [[cvs: Multiple vendor branches#Multiple vendor branches|&bull; Multiple vendor branches]]::    What if you get sources from several places?


----

<div class="header">
<p>
Next: [[cvs: How your build system interacts with CVS#How your build system interacts with CVS|Builds]], Previous: [[cvs: Keyword substitution#Keyword substitution|Keyword substitution]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
